1). Field of the Invention
The present invention relates to a random number derivation method for deriving physical random numbers from a random number source element, and a random number generator utilizing the method.
2). Discussion of Related Art
As one technique for deriving physical random numbers based on a natural phenomenon, there has been known a technique using a resistor, a semiconductor such as a diode, or a conductor, as a thermal noise source element. Thermal noises occurring in the thermal noise source element are random in both occurrence frequency and amplitude, and therefore physical random numbers can be derived based on the thermal noises. Various random number generators utilizing such a thermal noise source element are disclosed in a great number of publications. The random number generators are required to improve uniformity of the occurrence frequency of each value to be obtained (quality level as random numbers) and produce random number at a higher speed.
The most typical technique for generating physical random numbers using a thermal noise source element is designed to amplify and sample a thermal noise output from a thermal-noise source element at a certain moment, and compare the sampled value with a given threshold to derive a random number. Specifically, thermal noises output from a thermal noise source element and amplified are sampled in certain cycles. Then, according to a predetermined rule that “1” will be assigned to the sampled value if it is greater than a given threshold, and “0” will be assigned to the sampled value if it is not greater than the threshold, physical random numbers can be derived in a digital manner.
As another technique for generating physical random numbers using a thermal noise source element, there has been known a technique designed to measure a time interval between a time point when a randomly-occurring thermal noise exceeds a given threshold and a subsequent time point when another randomly-occurring thermal noise exceeds the threshold, and derive a random number value directly from the measured temporal value. One example of a random number generator based on this technique is described in Japanese Patent Laid-Open Publication No. 2001-134422.
This random number generator is provided with a first circuit for amplifying a thermal noise output from a thermal noise source element and generating a rectangular pulse which rises at the moment when a waveform of the pulse exceeds a given threshold, a second circuit for generating clocks having a frequency far greater than that of the pulse, and a counter for counting the clocks, and designed to count the clocks generated during the period from the occurrence of one pulse until the occurrence of a subsequent pulse, and derive a random number from the counted value. In this technique, due to a limited number of bits in a counter (given that the number of bits is “n”), the counter is reset to restart counting from 1, every time it counts 2n times, and consequently an actually derivable number of random number values is restricted to 2n. Even so, in the above technique, n bits of random numbers are generated per one pulse from a thermal noise, and therefore random numbers can be generated at a higher speed as compared with the technique designed to momentarily sample a thermal noise.    Patent Publication 1: Japanese Patent Laid-Open Publication No. 2001-134422.